package com.shishuo.base;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;

import org.apache.commons.lang3.StringUtils;

import lombok.Data;

/**
 * <p>
 * Description: 实体基础类
 * <p>
 * @author XQF SUI
 * <p>
 * Create Date: 2016年3月23日 下午10:39:05
 * <p>
 * @version 1.0
 */
@Data
public class BaseEntity extends IdEntity implements Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -5692303875354851770L;
	//对象创建时间
	@Column(name = "CREATE_TIME")
	private Date createTime;
	//修改时间
	@Column(name = "OPERATE_TIME")
	private Date operateTime;
	//对象创建时间
	@Column(name = "CREATOR_ID")
	private String creatorId;
	//修改时间
	@Column(name = "OPERATOR_ID")
	private String operatorId;
	
	public BaseEntity() {
		
	}
	
	/**
	 * <p>
	 * Description: 初始化创建信息
	 * </p>
	 * @author XQF SUI
	 * @created 2016年5月17日 下午3:45:15
	 */
	public void initialCreateProperty() {
		if (StringUtils.isBlank(this.id)) {
			this.generateId();
		}
		
		if (this.createTime == null) {
			createTime = new Date();
		}
	}
	
	/**
	 * <p>
	 * Description: 初始化更新信息 
	 * </p>
	 * @author XQF SUI
	 * @created 2016年5月17日 下午3:45:49
	 */
	public void initialOperateProperty() {
		if (this.operateTime == null) {
			operateTime = new Date();
		}
	}
}
